<!DOCTYPE html>
<!-- 
    This tests verifies that blur is repainted using the full source image of the element instead of just the dirty area.
    Also it tests that the filter area includes all the child RenderLayers and applies the children's transforms correctly.
    You should see three green rectangles slightly rotated and blured. There should be no red.    
-->
<html>
<head>
    <style>
        .box {
            position: relative;
            margin: 10px;
            height: 50px;
            width: 50px;
            background-color: green;
            z-index: 1;
            transform: translate(50px, 0px) rotate(20deg);
        }

        .before {
            background-color: red;
        }

        .blur {
            background: red;
            margin: 50px;
            -webkit-filter: blur(5px);
            z-index: 0;
            width: 0px;
            height: 0px;
        }
    </style>

    <script src="../../resources/run-after-display.js"></script>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsTextWithPixelResults();
            testRunner.waitUntilDone();
        }

        function repaintTest()
        {
            runAfterDisplay(function() {
                document.querySelector(".before").classList.remove("before");
                if (window.testRunner)
                    testRunner.notifyDone();
            });
        }
    </script>
</head>

<body onload="repaintTest()">

    <div class="blur">
        <div class="box"></div>
        <div class="box before"></div>
        <div class="box"></div>
    </div>

</body>
</html>
